package com.mareas.web.model;

// Generated 20/11/2011 19:14:33 by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Certificado generated by hbm2java
 */
@Entity
@Table(name = "certificado", catalog = "mareasdb")
public class Certificado implements java.io.Serializable {

	private CertificadoId id;
	private Buque buque;
	private String certificadoTipo;
	private Date certificadoFechaVencimiento;

	public Certificado() {
	}

	public Certificado(CertificadoId id, Buque buque, String certificadoTipo,
			Date certificadoFechaVencimiento) {
		this.id = id;
		this.buque = buque;
		this.certificadoTipo = certificadoTipo;
		this.certificadoFechaVencimiento = certificadoFechaVencimiento;
	}

	@EmbeddedId
	@AttributeOverrides({
			@AttributeOverride(name = "certificadoId", column = @Column(name = "Certificado_ID", nullable = false)),
			@AttributeOverride(name = "buqueImo", column = @Column(name = "Buque_IMO", nullable = false)) })
	public CertificadoId getId() {
		return this.id;
	}

	public void setId(CertificadoId id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "Buque_IMO", nullable = false, insertable = false, updatable = false)
	public Buque getBuque() {
		return this.buque;
	}

	public void setBuque(Buque buque) {
		this.buque = buque;
	}

	@Column(name = "Certificado_Tipo", nullable = false, length = 40)
	public String getCertificadoTipo() {
		return this.certificadoTipo;
	}

	public void setCertificadoTipo(String certificadoTipo) {
		this.certificadoTipo = certificadoTipo;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "Certificado_FechaVencimiento", nullable = false, length = 10)
	public Date getCertificadoFechaVencimiento() {
		return this.certificadoFechaVencimiento;
	}

	public void setCertificadoFechaVencimiento(Date certificadoFechaVencimiento) {
		this.certificadoFechaVencimiento = certificadoFechaVencimiento;
	}

}
